// 初始化编辑TALBEL
$().ready(function() {
// load data
	(function() {
		var url = "/stockSub.do?method=list";
		var callback = function(json) {
			if (json.success) {
				Jade.appendTr($('tbody'), template, json.result);
				// make table can edit
				$("#editableTable").tableEditor({
							EDIT_HTML : '编辑',
							SAVE_HTML : '保存',
							FUNC_PRE_EDIT : 'preEdit',
							FUNC_POST_EDIT : 'postEdit',
							FUNC_PRE_SAVE : 'preSave',
							FUNC_UPDATE : 'updateTable',
							FUNC_DELETE : 'deleteRow'
						});
			} else {
				// TODO 错误提示
			}
		};
		$.post(url, {}, callback, 'json');
	})();

	// 行模板
	var template = '<tr><td class="hidden" name="id"></td>'
			+ '<td name="stock"></td>' + '<td name="buyPrice"></td>'
			+ '<td name="salePrice"></td>'
			+ '<td name="notifyMode" class="hidden"></td>'
			+ '<td><a href="#" class="tsEditLink">编辑</a>'
			+ '&nbsp&nbsp|&nbsp&nbsp<a href="#" class="tsDltLink">删除</a></td>'
			+ ' </tr>';

	var options = {
		COL_APPLYCLASS : true,
		CLASS : 'newRow',
		tableId : 'editableTable',
		template : template
	};

	$('#addNew').click(function() {
				jQuery.tableEditor.lib.appendRow(options);
			});
});

// 发送请求保存
function updateTable(o) {
	// 1将jQuery对象的数据提取成需要的数据
	var data = formatRow(o.row);
	// 2.验证合法性
	if (!validateRow(data))
		return;
	// 3.保存数据
	var url = "/stockSub.do?method=save";
	var callback = function(json) {
		if (json.success) {
			info(json);
			$('td:first').html(json.result.id);
		} else {
			// TODO 提示错误
		}
	};
	$.post(url, data, callback, 'json');
}
// 删除行
function deleteRow(o) {
	var data = formatRow(o.row);
	if(data.id){
		var url = "/stockSub.do?method=remove";
		$.post(url, data);
	}
}

// 点击保存前调用
function preSave(o) {

}

// 点击编辑前调用
function preEdit(o) {

}

// 点击编辑后调用
function postEdit(o) {
	// 1.股票输入框增加输入提示
	$("input.auto").autocomplete({
		source : STOCK_LIST
			// defined at stock-list.js
		});
	// 2.NUMBER类型输入框只能是数字
	$("input.number").numeric({
				maxValue : 10000,
				emptyValue : false,
				minValue : 0,
				format : '0.00'
			});

}

// 将row数据转为JS Object
function formatRow(row) {
	// info(row)
	var data = {};
	row.each(function() {
				data[$(this).attr('name')] = $(this).html();
			});
	return data;
}

// 保存前验证行数据
function validateRow(data) {
//	info(data)
	// 1.股票不能为空
	if (!data.stock) {
		alert('股票不能为空!');
		return false;
	}
	// 2.卖出价大于买入价
	// if (data.buyPrice >= data.salePrice) {
	// alert('预计买入价不能大于预计卖出价!')
	// return false;
	// }
	return true;
}
